﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using Sesi.Dados.Entidades;
using Sesi.Dados.Enumeradores;
using Sesi.Servico;

namespace Sesi.Telas
{
    public partial class CadastroPalestras : Form
    {
        private Palestras _palestra;

        public CadastroPalestras()
        {
            InitializeComponent();

            if (ListarPalestrantes._isUpdate)
            {
                CarregarDados();
            }
        }

        private void CarregarDados()
        {
            txtQuantidadeVagas.Text = ListarPalestrantes.PalestraSelecionada.QuantidadeVagas.ToString();
            txtNome.Text = ListarPalestrantes.PalestraSelecionada.Tema;
            txtHorarioInicio.Text = ListarPalestrantes.PalestraSelecionada.HorarioInicio;
            txtHorarioFinal.Text = ListarPalestrantes.PalestraSelecionada.HorarioTermino;
            txtDetalhes.Text = ListarPalestrantes.PalestraSelecionada.Detalhes;
            cbTipoPalestra.SelectedIndex = (int)ListarPalestrantes.PalestraSelecionada.TipoPalestra;
            dtpDataPalestra.Value = ListarPalestrantes.PalestraSelecionada.DataPalestra;
        }

        private void MontarPalestra()
        {
            _palestra = new Palestras();

            if (ListarPalestrantes._isUpdate)
            {
                _palestra.PalestraId = ListarPalestrantes.PalestraSelecionada.PalestraId;
            }

            _palestra.HorarioInicio = txtHorarioInicio.Text;
            _palestra.HorarioTermino = txtHorarioFinal.Text;
            _palestra.QuantidadeVagas = int.Parse(txtQuantidadeVagas.Text);
            _palestra.Tema = txtNome.Text;
            _palestra.Detalhes = txtDetalhes.Text;
            _palestra.TipoPalestra = (TipoPalestra)cbTipoPalestra.SelectedIndex;
            _palestra.DataPalestra = dtpDataPalestra.Value;

        }

        private void Salvar()
        {
            MontarPalestra();

            if (!ListarPalestrantes._isUpdate)
            {
                Fachada.GetInstancia().Inserir(_palestra);

                if (MessageBox.Show("Palestra inserida com Sucesso!", "Atualização da Palestra", MessageBoxButtons.OK, MessageBoxIcon.Information) == System.Windows.Forms.DialogResult.OK)
                {
                    Close();
                }
            }
            else
            {
                Fachada.GetInstancia().Atualizar(_palestra);

                if (MessageBox.Show("Palestra atualizada com Sucesso!", "Atualização da Palestra", MessageBoxButtons.OK, MessageBoxIcon.Information) == System.Windows.Forms.DialogResult.OK)
                {
                    Close();
                }
            }
        }

        private void button4_Click(object sender, EventArgs e)
        {
            Close();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            Salvar();
        }
    }
}
